package com.moli.iov.down.constants;

/**
 * <p>
 *  常量
 * </p>
 *
 * @author: zql
 * @Date: 2018/11/28 15:55
 */
public interface Constant {

    /**
     * redis 缓存前缀
     */
    String REDIS_PREFIX = "IOV:SERVICE:DOWN:";

    /**
     * 下发指令响应缓存
     */
    String VIN_COMMAND_RESPONSE = REDIS_PREFIX + "VIN:COMMAND:";

    /**
     * 下发命令VIN 流水号 前缀
     */
    String VIN_COMMAND_INCR = REDIS_PREFIX + "VIN:INCR:";

    /**
     * 参数查询结果缓存key
     */
    String VIN_PARAMETER_QUERY_RES = REDIS_PREFIX + "VIN:PARAMETER:QUERY:RES:";

    /**
     * 参数查询 数据是否存在
     */
    String VIN_PARAMETER_QUERY_ISEXIST = REDIS_PREFIX + "VIN:PARAMETER:QUERY:ISEXIST:";

    /**
     * 蓝牙新密码缓存 key
     */
    String BLUETOOTH_NEW_PWD = REDIS_PREFIX + "BLUETOOTH:NEW:PWD:";

    /**
     * 参数查询结果缓存 时长
     */
    long VIN_PARAMETER_QUERY_RES_TIME = 60 * 10L;

    /**
     * 缓存时间 60 分钟
     */
    long VIN_COMMAND_RESPONSE_TIME = 60 * 60L;

    /**
     * 普通指令 延时时间
     */
    long GENERAL_DELAY_TIME = 60 * 1000L;

    /**
     * 升级失败 缓存 30分钟
     */
    long UPGRADE_INTERVAL_DELAY_TIME = 30 * 60 * 1000L;

    /**
     * 升级结果 缓存时长 25小时
     */
    long UPGRADE_CACHE_TIME = 25 * 60 * 60L;

    /**
     * 升级失败 补发次数 48 次、 24个小时
     */
    long UPGRADE_INTERVAL_TIMES = 48;

    /**
     * 普通命令补发次数
     */
    int GENERAL_DELAY_TIMES = 3;

    /**
     * 终端注册响应
     */
    String TBOX_GEGISTER_AUTH="00000000";

    /**
     * 上传地址与端口设置 结果描述
     */
    String CHANGE_PORT_MSG = "上传地址与端口由@1:@2变更为@3:@4";

    /**
     * 上报频率 结果描述
     */
    String FREQUENCY_MSG = "上报频率由@1秒变更为@2秒";

    /**
     * 终端恢复出厂设置 结果描述
     */
    String RESUME_FACTORY_MSG = "设备版本由@1变更为@2";

    /**
     * 命令索引
     */
    int COMMAND_INDEX = 2;
}
